The present invention relates generally to cloud computing, and more particularly to policy-based cloud resource management.
Cloud computing defines an approach to providing scalable and distributed information technology (IT) services to a variety of users, each having a different user role. A cloud service provider owns, manages, and operates live cloud computing systems to deliver services to consumers, including third parties and end users. A cloud service consumer uses or subscribes to cloud services. A cloud service developer develops technical and business aspects associated with cloud services. Cloud service integrators provide composite cloud services to cloud service consumers by integrating and aggregating services offered by cloud service providers.
The relationships between the various cloud user roles take on a variety of forms. When a cloud service consumer enters an agreement with a cloud service provider, they are often billed for all cloud services they have requested, regardless of whether they are always being utilized. The cloud service consumer is simply billed for cloud services used until they expire or they are ceased, and as such, cloud service consumers are often billed for their consumption when they are not consuming the cloud service. Some cloud service providers offer subscription-based software as a service (SaaS) on a pay-as-you-go, metered basis, however, cloud service consumers are still charged for cloud services even when they are not being consumed. Take for example a cloud service consumer who is consuming a cloud service to enable them to design and build a software application. The development environment being used is the cloud service, and it has been established, maintained, and provided by a cloud service provider. At some point in time, the cloud service consumer wishes to promote their application through different environments from development, for instance into test, pre-production, and production. As the application moves through each phase of the cloud service, some aspects of the cloud service may no longer be in use (i.e., when the application moves to pre-production, development may no longer be in use). However, it is commonplace for the cloud service consumer to be charged for all phases of the cloud service unless the cloud service consumer explicitly ceases the cloud service.